package solution._0050._0055;

/**
 * Created by chen_snow
 * Date: 2021/6/9 21:13
 * Description: 跳跃游戏
 */

/**
 * 给定一个非负整数数组 nums ，你最初位于数组的 第一个下标 。
 * 数组中的每个元素代表你在该位置可以跳跃的最大长度。
 * 判断你是否能够到达最后一个下标。
 */
public class Solution {
    public boolean canJump(int[] nums) {

        if (nums.length == 1) {
            return true;
        }

        int max = nums[0];
        int current = 1;

        while (current <= max && max + 1 < nums.length) {
            max = Math.max(max, current + nums[current]);
            current++;
        }

        return max + 1 < nums.length ? false : true;
    }
}
